package org.dromara.business.domain.bo;

import org.dromara.business.domain.Report;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

/**
 * 反馈记录业务对象 report
 *
 * @author zlj
 * @date 2024-08-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = Report.class, reverseConvertGenerate = false)
public class ReportBo extends BaseEntity {

    /**
     * 反馈记录表
     */
    @NotNull(message = "反馈记录表不能为空", groups = { EditGroup.class })
    private Long reportId;

    /**
     * 用户id
     */
    @NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long userId;

    /**
     * 用户名称
     */
    @NotNull(message = "用户名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String userName;


    /**
     * 反馈类型（1.订单问题 2.平台建议 3.投诉申诉 4.其他）
     */
    @NotNull(message = "反馈类型（1.订单问题 2.平台建议 3.投诉申诉 4.其他）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer reportType;

    /**
     * 反馈内容
     */
    @NotBlank(message = "反馈内容不能为空", groups = { AddGroup.class, EditGroup.class })
    private String reportText;

    /**
     * 状态（1.处理中 2.处理完成 3.处理不通过）
     */
    @NotNull(message = "状态（1.处理中 2.处理完成 3.处理不通过）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer status;


}
